Typifying emotional indicators for digital messaging

ABSTRACT

The present disclosure provides computing systems and techniques for indicating an emotional and/or environmental state of a user in a digital messaging application. A computing device can determine an emotional and/or environmental state of a first user responsive to reading or responding to a message and can convey the determined emotional and/or environmental state to a second computing device, to be transiently presented by the second computing device.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a Continuation of U.S. patent application Ser. No.16/153,096, filed Oct. 5, 2018, the disclosure of which is incorporatedherein by reference in its entirety.

TECHNICAL FIELD

Examples described herein are generally related to digital messaging andparticularly to conveying an emotional state along with a message orwhile a message is being composed.

BACKGROUND

Modern communication devices typically include digital messagingcapabilities. For example, computers, tablets, mobile phones, etc. allinclude the ability to execute digital messaging applications, whereusers can send and receive messages from other users of such devices.Some digital messaging applications provide indicators (e.g., threedots) that another user is typing a message. However, such digitalmessaging applications do not currently provide an ability to indicatean emotional and/or environmental state. The present disclosure isdirected towards providing an indication of an emotional and/orenvironmental state.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates an example computing device.

FIG. 1B illustrates a first example user interface, displayed on thecomputing device of FIG. 1A.

FIG. 2 illustrates a first example system.

FIG. 3 illustrates an example technique to provide an indication ofemotional and/or environmental state in a digital messaging application.

FIG. 4 illustrates a second example system.

FIG. 5 illustrates a third example system.

FIG. 6 illustrates a fourth example system.

FIG. 7 illustrates an example logic flow.

FIG. 8 illustrates a first example state indication.

FIG. 9 illustrates a second example state indication.

FIG. 10 illustrates a third example state indication.

FIG. 11 illustrates a fourth example state indication.

FIG. 12 illustrates a fifth example state indication.

FIG. 13 illustrates a sixth example state indication.

FIG. 14 illustrates an example storage medium.

FIG. 15 illustrates an computer architecture.

DETAILED DESCRIPTION

As contemplated in the present disclosure, an indication of an emotionaland/or environmental state of a user can be provided to another user.Such an indication can be presented, for example, transiently, to conveythe emotional and/or environmental state of the user. It is noted, thepresent disclosure enables providing indications of emotional and/orenvironmental states faster than the user could convey the informationmanually. Furthermore, the present disclosure enables providing theindications of emotional and/or environmental states in a manner thanmay be seamless to the end user.

More particularly, the disclosure can be implemented to provideindications of emotional and/or environmental state during a messagingtransaction. For example, the indication can be provided to a messagesender in response to a message receiver receiving a message from thesender and for a transient period associated with when the messagereceiver is responding to and/or reviewing the received message. Once aresponse message is sent to the sender by the receiver, the indicationcan be withdrawn, removed, or for example, replaced with the responsemessage.

In some examples, a first user interacting with a first computing devicecan receive a message from a second user interacting with a secondcomputing device, via the first computing devices. The first computingdevice can determine an emotional and/or environmental state of thefirst user responsive to reading and/or responding to the message andcan convey the determined emotional and/or environmental state to thesecond computing device, to be transiently presented by the secondcomputing device.

With some implementations, an emotional state can be determined based onbiometric data, for example, captured by a wearable device coupled tothe computing device with which the first user is interacting. In someimplementations, an emotional state can be determined based on one ormore characteristics of how the first user is interacting with thecomputing device (e.g., typing speed, typing pressure, etc.).

In some implementations, an environmental state can be determined basedon various factors, such as, an application (e.g., map application,internet browsing application, office application, telephoneapplication, or the like) being actively used by the first user. Withsome implementations, an environmental state can be determined based onwhether the computing device is in movement, whether the computingdevice is coupled to a vehicle, or the like. Furthermore, environmentalstate can be determined based on location data for the computing device(e.g., at home, in bed, at an office, in a conference room of an office,or the like.

The computing device can generate an indicator of the emotional state,the environmental state, or a combination of the emotional andenvironmental state. With some implementations, the indicator can be anemoji, a combination of emojis, a punctuation mark, a combination ofpunctuation marks, or coloring of an emoji and/or punctuation mark. Thisindicator can be conveyed to the second computing device forpresentation in a user interface to indicate, to the second user, theemotional and/or environmental state of the first user.

FIGS. 1A and 1B illustrate an example computing device 100 and a userinterface (UI) 124 for a digital messaging application 122. Morespecifically, FIG. 1 depicts the device 100 and associated components ofthe device 100 while FIG. 1B depicts the UI 124 displayed on a display130 of the device.

The computing device 100 can include, at least in part, a processor 110,a memory 120, a display 130, an interface 140, input/output (I/O)component(s) 150, sensor(s) 160, and a radio 170. The memory 120 maystore the digital messaging application 122, the UI 124, stateindication 126, and state data 128. In general, responsive to executingthe digital messaging application 122 on the computing device 100; thecomputing device 100 can send and receive messages with anothercomputing device (see FIG. 2) and can generate the UI 124 includingindications of the sent and received messages. Computing device 100, inexecuting digital messaging application 122 can capture state data 128,responsive to a user receiving message(s), reading the messages, orreplying to the messages; and can determine an emotional and/orenvironmental state of the user of the computing device 100 based on thestate data 128. Computing device 100, in executing digital messagingapplication 122 can generate an indication (state indication 126) of thedetermined emotional and/or environmental state, as further discussedherein. Furthermore, computing device 100, in executing digitalmessaging application 122, can send the state indication 126 to theother computing device and can present the state indication 126 in theUI 124.

With some examples, the processor 110 may include circuitry or processorlogic, such as, for example, any of a variety of commercial processors.In some examples, the processor 110 may include multiple processors, amulti-threaded processor, a multi-core processor (whether the multiplecores coexist on the same or separate dies), and/or a multi-processorarchitecture of some other variety by which multiple physically separateprocessors are in some way linked. Additionally, in some examples, theprocessor 110 may include graphics processing portions and may includededicated memory, multiple-threaded processing and/or some otherparallel processing capability.

The memory 120 may include logic, a portion of which includes arrays ofintegrated circuits, forming non-volatile memory to persistently storedata or a combination of non-volatile memory and volatile memory. It isto be appreciated, that the memory 120 may be based on any of a varietyof technologies. In particular, the arrays of integrated circuitsincluded in memory 120 may be arranged to form one or more types ofmemory, such as, for example, dynamic random access memory (DRAM), NANDmemory, NOR memory, or the like.

Display 130 can be based on any of a variety of display technologies,such as, for example, a cathode ray tube (CRT), a liquid crystal display(LCD), plasma display, light emitting diode (LED) display, or an organiclight emitting diode (OLED) display. With some examples, display 130 canbe a touch sensitive display. It is noted, display 130 may be externalto the computing device 100, such as, for example, embodied as acomputer monitor or television and coupled to the computing device 100via any of a variety of display data interfaces.

Interface 140 may include logic and/or features to support acommunication interface. For example, the interface 140 may include oneor more interfaces that operate according to various communicationprotocols or standards to communicate over direct or networkcommunication links. Direct communications may occur via use ofcommunication protocols or standards described in one or more industrystandards (including progenies and variants). For example, the interface140 may facilitate communication over a bus, such as, for example,peripheral component interconnect express (PCIe), non-volatile memoryexpress (NVMe), universal serial bus (USB), system management bus(SMBus), SAS (e.g., serial attached small computer system interface(SCSI)) interfaces, serial AT attachment (SATA) interfaces, or the like.

The I/O component(s) 150 may include one or more components to provideinput to or to provide output from the computing device 100. Forexample, the I/O component(s) 150 may be a keyboard (hardware, virtual,etc.), mouse, joystick, microphone, track pad, button, touch layers of adisplay, haptic feedback device, camera, microphone, speaker, or thelike.

The sensor(s) 160 may include a number of any of a variety of sensorsarranged to detect information, such, as, physical surroundinginformation, geo-information, biometric information, or the like. Forexample, sensor(s) 160 can include a radar sensor, infrared sensors,light sensors, RFID sensors, gyroscopes, a global positioning sensors(GPS), a heart rate sensor, a temperature sensor, or the like. Signalsfrom sensor(s) 160 can be used to an emotional and/or environmentalstate of a user of the computing device 100, as discussed in greaterdetail below. It is noted, that some of the sensor(s) 160 could belocated externally to the computing device 100, such as, for example, ona wearable device (e.g., see FIG. 11).

The radio 170 may include circuitry arranged to communicate data withone or more other devices (see FIG. 2) via any of a variety ofcommunication protocols. Such communication may involve communicationacross one or more networks, such a wireless local area networks (WLAN)or cellular network. In some examples, radio 170 can be arranged tocommunicate via Wi-Fi, Bluetooth, Zigbee, LTE, 5G, or the like.

During operation of computing device 100, processor 110 can execute thedigital messaging application to 122 to send, receive, or both send andreceive messages 180 from another computing device. Often, the messages180 are relayed between the computing device via the radio 170 and anetwork (e.g., cellular network, the Internet, etc.). For example, thecomputing device 100 can send and receive information elements toanother computing device including indications of the messages 180.

The processor 110, in executing the digital messaging application 122,can generate the UI 124 to present the messages to a user. For example,UI 124 can include message blocks 182 to present the messages to a user.UI 124 is depicted including message blocks 182-1, 182-2, and 182-3.Specifically, message blocks 182-1 and 182-2 are depicted displayingmessages 180-1 and 180-2. The UI 124 can further include an input block184 arranged to receive input from a user. For example, the user canprovide content for a message 180 via the input block 184.

It is to be appreciated that a variety of techniques for indicating asender or receiver of a message 180 exist. For example, as depicted inUI 124, messages 180 received by a user of computing device 100 on whichUI 124 is displayed are aligned on the left side of the screen whilemessages sent by the user, via computing device 100, are aligned on theright side of the screen. Accordingly, messages 180-1 and 180-2displayed in message blocks 182-1 and 182-2 were received by the user ofthe computing device 100. Message block 182-3 corresponds to a messageto be sent, via computing device 100, by the user.

Message block 182-3 is used to depict, often transiently, the stateindication 126. The state indication 126 can determined by computingdevice 100 (as discussed further herein) and can be provided to indicatean emotional state of the user (e.g., the user of computing device 100),an environmental state of the user, or both an emotional andenvironmental state of the user. In general, the state indication 126can comprise any number of indicators (e.g., emojis, colored emojis,punctuation marks, colored punctuation marks, or the like). A number ofexamples of a state indication 126 are given in FIGS. 7-12.

FIG. 2 illustrates an example system 200 including computing device 201,another computing device 203, and a server 205. In general, thecomputing devices 201 and 203 can be like the computing device 100 ofFIGS. 1A and 1B. However, for purposes of clarity of presentation, thecomputing device 201 and 203 are only depicted including a memory.Specifically, computing device 201 is depicted including memory 220-1and computing device 203 is depicted including memory 220-2. However,the computing devices 201 and 203 will also typically include othercomponents depicted in FIG. 1A, for example, processor 110, display 130,radio 170, etc.

The server 205 can include, at least in part, a processor 211, a memory221, and an interface 241. The memory 221 may store a state predictionapplication 223, a state prediction model 225, information element(s)210, state data 128 and state indication 126.

With some examples, the processor 211 may include circuitry or processorlogic, such as, for example, any of a variety of commercial processors.In some examples, the processor 211 may include multiple processors, amulti-threaded processor, a multi-core processor (whether the multiplecores coexist on the same or separate dies), and/or a multi-processorarchitecture of some other variety by which multiple physically separateprocessors are in some way linked. Additionally, in some examples, theprocessor 211 may include graphics processing portions and may includededicated memory, multiple-threaded processing and/or some otherparallel processing capability.

The memory 221 may include logic, a portion of which includes arrays ofintegrated circuits, forming non-volatile memory to persistently storedata or a combination of non-volatile memory and volatile memory. It isto be appreciated, that the memory 221 may be based on any of a varietyof technologies. In particular, the arrays of integrated circuitsincluded in memory 221 may be arranged to form one or more types ofmemory, such as, for example, dynamic random access memory (DRAM), NANDmemory, NOR memory, or the like.

Interface 241 may include logic and/or features to support acommunication interface. For example, the interface 241 may include oneor more interfaces that operate according to various communicationprotocols or standards to communicate over direct or networkcommunication links. Direct communications may occur via use ofcommunication protocols or standards described in one or more industrystandards (including progenies and variants). For example, the interface241 may facilitate communication over a bus, such as, for example,peripheral component interconnect express (PCIe), non-volatile memoryexpress (NVMe), universal serial bus (USB), system management bus(SMBus), SAS (e.g., serial attached small computer system interface(SCSI)) interfaces, serial AT attachment (SATA) interfaces, or the like.

Computing device 201 can be communicatively coupled with both thecomputing device 203 and the server 205. For example, computing device201 can be communicatively coupled to computing device 203 and server205 via a network (e.g., cellular, Wi-Fi, the Internet, or the like). Anexample operation of the system 200 is described with reference to thetechnique 300 of FIG. 3. In general, FIG. 3 depicts a technique toprovide an indication of an emotional and/or environmental state in adigital messaging application (e.g., digital messaging application 122,or the like). It is noted, technique 300 is described with reference tothe system 200 of FIG. 2 and the computing device 100 and UI 124 ofFIGS. 1A and 1B. This is done for purposes of convenience and clarity,as opposed to limitation. For example, technique 300 could beimplemented by a system having a different arrangement or entities fromthat of the system 200 of FIG. 2. Additionally, it is noted thatalthough server 205 and operations of server 205 are discussedseparately and distinct from that of operations of computing device 201and/or 203; in some implementations features described with respect toserver 205 can be embodied by either or both of computing device 201 and203. For example, computing device 201 and 203 can include stateprediction application 223 and state prediction model 225. Examples arenot limited in this context.

Turning now to FIG. 3, technique 300 can begin at circle 3.1. At circle3.1, computing device 203 can generate an information element 201including an indication of a message (or messages) for computing device201. For example, a processor (e.g., processor 110, or the like) ofcomputing device 203, in executing a digital messaging application(e.g., digital messaging application 122, or the like) can generateinformation element 210 including an indication of messages 180 for auser associated with computing device 201. With some implementations,computing device 203 can generate the information element responsive toreceiving input from a user indicating the contents of messages 180.

Continuing to circle 3.2, computing device 203 can send the informationelement 210 to computing device 201. For example, a processor ofcomputing device 203, in executing the digital messaging application,can send the information element 210 including indications of themessage 180 to computing device 201 (e.g., via radio 170, or the like).At circle 3.3, computing device 201 can receive the information element210 including the indication of message 180. For example, a processor(e.g., processor 110, or the like) of computing device 201, in executinga digital messaging application (e.g., digital messaging application122, or the like) can receive (e.g., via radio 170, or the like) theinformation element 210 including an indication of the messages 180 froma user associated with computing device 203.

Continuing to circle 3.4 and circle 3.5, computing devices 201 and 203,respectively, can present the message 180 in a UI displayed on a displayassociated with the respective computing device. For example, aprocessor of computing device 201, in executing the digital messagingapplication can present the message 180 (e.g., in a message block 182,or the like) in a UI (e.g., UI 124, or the like) displayed on a display(e.g., display 130, or the like) of computing device 201. Likewise, aprocessor of computing device 203, in executing the digital messagingapplication can present the message 180 (e.g., in a message block 182,or the like) in a UI (e.g., UI 124, or the like) displayed on a display(e.g., display 130, or the like) of computing device 203.

Continuing to circle 3.6. At circle 3.6, computing device 201 cancapture, determine, or otherwise generate state data 128. In general,state data 128 can comprise indications of characteristics of computingdevice 201 and/or characteristics of a user of computing device 201,responsive to receiving message 180, reading message 180, ore replyingto message 180. Said differently, at circle 3.6, computing device 201can capture characteristics of computing device 201 and/or of a user ofcomputing device 201 at the time the user interacts with the message 180(e.g., via a UI, or the like). This is described in greater detailbelow, for example, with respect to FIG. 4-6. However, in general, statedata 128 can comprise characteristics of computing device 201, such as,for example, a currently actively used application, current state ofmovement (e.g. in motion, not in motion, velocity, etc.), state ofconnection of accessories (e.g., a vehicle, or the like), location data,etc. Furthermore, state data 128 can comprise biometric data of a userof the device, an image captured of the user, or characteristics of howthe user is interacting with the computing device (e.g., typing speed,typing pressure, etc.). Also, at circler 3.6, computing device 201 cangenerate an information element 210 including indications of the statedata 128.

Continuing to circle 3.7, computing device 201 can send the informationelement 210 to server 205. For example, a processor of computing device201, in executing the digital messaging application, can send theinformation element 210 including indications of the state data 128 toserver 205. At circle 3.8, server 205 can receive the informationelement 210 including the indication of state data 128. For example,processor 211 of server 205, in executing state prediction application223, can receive (e.g., via interface 241, or the like) the informationelement 210 including an indication of the state data 128 from computingdevice 201.

Continuing to circle 3.9. At circle 3.9, server 205 can generate a stateindication 126 based in part on the state data 128. For example, server205 can generate state indication 126 from state data 128 and stateprediction model 225. Said differently, processor 211, in executingstate prediction application 223 can generate state indication 126 viaat least providing state data 128 as inputs to state prediction model225. In some examples, state prediction model 225 can be a machinelearning model (e.g., a neural network, or the like). Server 205 (orprocessor 211 in executing state prediction application 223) can usestate prediction model 225 to generate indications of an emotionaland/or environmental state of a user of computing device 201 based onstate data 128. Also, at circler 3.9, server 205 can generate aninformation element 210 including indications of the state indication126.

Continuing to circle 3.10, server 205 can send the information element210 to computing device 201. For example, a processor of server 205, inexecuting the state prediction application, can send the informationelement 210 including indications of the state indication 126 tocomputing device 201. At circle 3.11, computing device 201 can receivethe information element 210 including the indication of state indication126. For example, a processor of computing device 201, in executing adigital messaging application, can receive (e.g., via radio 170, or thelike) the information element 210 including an indication of the stateindication 126 from server 205.

Continuing to circle 3.12, computing device 201 can send an informationelement 210 including an indication of state indication 126 to computingdevice 203. With some examples, computing device 201 relays theinformation element 210 received from the server 205. In other example,computing device 201 generates a new information element 210 includingan indication of state data 126 and send this information element 210 tocomputing device 203. In some examples, computing device 201 generates acustom state indication 126 based on user preferences associated withthe digital messaging application executed on computing device 201. Thisis described in greater detail below, for example, with respect to FIGS.7-12.

At circle 3.13, computing device 203 can receive the information element210 including the indication of state indication 126. For example, aprocessor of computing device 203, in executing a digital messagingapplication, can receive (e.g., via radio 170, or the like) theinformation element 210 including an indication of the state indication126 from computing device 201.

Continuing to circle 3.14 and circle 3.15, computing devices 201 and203, respectively, can present the state indication 126 in a UIdisplayed on a display associated with the respective computing device.For example, a processor of computing device 201, in executing thedigital messaging application can present the state indication 126(e.g., in a message block 182, or the like) in a UI (e.g., UI 124, orthe like) displayed on a display (e.g., display 130, or the like) ofcomputing device 201. Likewise, a processor of computing device 203, inexecuting the digital messaging application can present the stateindication 126 (e.g., in a message block 182, or the like) in a UI(e.g., UI 124, or the like) displayed on a display (e.g., display 130,or the like) of computing device 203. In some examples, computingdevices 201 and 203 can transiently present the state indication 126. Insome examples, only computing device 203 can present the stateindication 126.

Technique 300 can optionally, include circles 3.16 to 3.19. At circle3.16, computing device 201 can generate feedback respective to stateindication 126. For example, a user of computing device 201 can selectan alternative state indication to present and to send to computingdevice 201. The alternative state indication can be sent to server 205in an information element 210 at circle 3.17 as state indicationfeedback. At circle 3.18, server 205 can receive the information elementwith state indication feedback and at circle 3.19, server 205 can updatestate prediction model 225 based on the state indication feedback. Forexample, processor 211 in executing state prediction application 223 canfurther train state prediction model 225 using state indicationfeedback.

It is noted, that the above example discusses providing indications ofemotional and/or environmental states between two users (e.g., user ofcomputing device 201 and 203). However, in practice, the presentdisclosure can be implemented to enable providing indications ofemotional and/or environmental states of multiple users, for example,users engaged in a conference, group discussion, or the like. FIG. 4illustrates an example system 400 including a number of computingdevices 100, coupled via network 401. Network 401 could be, for example,a local area network (LAN), a wide area network (WAN), or a cellularnetwork (e.g., LTE, 3GPP, or the like). In some embodiments, network 401could include the Internet.

System 400 is depicted including computing devices 100-1, 100-2, 100-3,100-4 and 100-5. It is noted that the number of computing devices isgiven for purposes of clarity of presentation and not to be limiting.Embodiments can be provided with more of less computing devices thandepicted in this figure. During operation, ones of the computing devices100 can provide state indications to another one of the computingdevices 100. For example, during a group discussion, a single user maybe presenting, talking, or otherwise communicating with a group, oraudience. Computing devices associated with members of the group ofaudience can provide state indications 126 to a computing deviceassociated with the user presenting, talking, or otherwisecommunicating. For example, computing devices 100-2 to 100-5 aredepicted with memory 220-2 to 220-5 and state indications 126-2 to126-5, respectively.

During operation, computing devices 100-2 to 100-5 can determine a stateindication 126 as described herein. Furthermore, computing device 100-2to 100-5 can provide the respective state indications 126 to computingdevice 100-1. Computing device 100-1 is depicted including memory 220-1and state indications 126-2 to 126-5, corresponding to emotional and/orenvironmental state determined by respective computing device 100-2 to100-5. Computing device 100-1 can be configured to present the stateindications 126-2 to 126-5 as described herein to convey an indicationof the emotional and/or environmental state of the “audience” to whichthe user of computing device 100 is communicating. In this manner, ofthe “presenter” can gauge the response of the audience to recentcommunications and could adapt or adjust the message accordingly.

FIG. 5 illustrates an example system 500 including computing device 100of FIG. 1 coupled to a wearable device 501. The wearable device 501 caninclude, at least in part, a biometric sensor 480 and a radio 470.

With some examples, the biometric sensor 480 may include circuitry orprocessor logic arranged to capture any of a number of biometricindications. For example, biometric sensor 480 may be a heart ratesensor, a skin temperature sensor, an blood oxygen sensor, or the like.

Radio 470 can include circuitry arranged to communicate data with one ormore other devices, such as computing device 100, via any of a varietyof communication protocols. Such communication may involve communicationacross one or more networks, such a wireless local area networks (WLAN)or cellular network. In some examples, radio 470 can be arranged tocommunicate via Wi-Fi, Bluetooth, Zigbee, LTE, 5G, or the like.

During operation, wearable device 501 can capture indications of abiometric characteristics (e.g., heart rate) of a user or wearer ofwearable device 501. Processor 110 of computing device 100, in executingdigital messaging application 122, can receive indications of thebiometric characteristic from wearable device 501. In particular,computing device 100 can receive indications of the biometriccharacteristic at a time or period coincident with presentation ofmessage 180 via UI 124, or coincident with receipt of a response (orpartial response) to message 180 or another message 180 from the user ofcomputing device 100. State data 128 can include indications of thebiometric characteristic received from wearable device 501.

FIG. 6 illustrates an example system 600 including computing device 100of FIG. 1 and a user 601 of computing device 100. During operation,processor 110 of computing device 100, in executing digital messagingapplication 122, can cause an image of user 601 to be captured via acamera 151. In particular, computing device 100 can capture an image ofuser 601, via camera 151, at a time or period coincident withpresentation of message 180 via UI 124, or coincident with receipt of aresponse (or partial response) to message 180 or another message 180from the user of computing device 100. State data 128 can includeindications of the image of the user captured via camera 151.

FIG. 7 illustrates a logic flow 700 to generate state data. A computingdevice executing a digital messaging application can generate state datausing logic flow 700. For example, computing device 100 of FIG. 1A cangenerate state data 128 using logic flow 700. In some implementations, acomputing device (e.g., computing device 201) as part of technique 300can use logic flow 700 to generate state data 128.

Logic flow 700 may begin at block 710. At block 710 “receive anindication a user is reading, responding to, or sending a message via adigital message application” computing device 100 can receive anindication that a user is reading and/or responding to a message. Forexample, processor 110 in executing digital messaging application 122can receiving an indication that a user has read message 180-2 presentedin message block 182-2. As another example, processor 110 in executingdigital messaging application 122 can receive an indication that a useris responding to or sending a message. More specifically, processor 110in executing digital messaging application 122 can receive input viainput block 184.

Continuing to block 720 “capture, via a sensor, device characteristicscoincident with the indication” computing device 100 can capture, viasensor(s) 180 device characteristics coincident with the indication fromblock 710. For example, processor 110 in executing digital messagingapplication can capture velocity and location information for computingdevice 100 via sensor(s) 180 (e.g., GPS sensor, or the like) at a timeor period associated with when the indication at block 710 is received.

Continuing to block 730 “capture user characteristics coincident withthe indication” computing device 100 can capture user characteristicscoincident with the indication from block 710. For example, processor110 in executing digital messaging application can capture biometriccharacteristics for a user of computing device 100 (e.g., via aconnected wearable device 501, or the like) at a time or periodassociated with when the indication at block 710 is received. As anotherexample, processor 110 in executing digital messaging application cancapture an image of a user of computing device 100 (e.g., via camera151, or the like) at a time or period associated with when theindication at block 710 is received. For another example, processor 110in executing digital messaging application can capture characteristicsof a user of computing device 100, such as, typing speed, typingpressure, or the like at a time or period associated with when theindication at block 710 is received.

It is important to note, that logic flow 700 can include either or bothof blocks 720 and 730. For example, logic flow 700 could only includeblock 720 or block 730. Continuing to block 740 “generate state dataindicative of an emotional and/or environmental state based on thecaptured device and user characteristics” computing device 100 cangenerate state data 128 indicative of an emotional and/or environmentalstate of the user of computing device 100 based on the captured deviceand user characteristics. For example, processor 110 in executingdigital messaging application can generate state data 128 from devicecharacteristics captured at block 720. As another example, processor 110in executing digital messaging application can generate state data 128from user characteristics captured at block 730. In still anotherexample, processor 110 in executing digital messaging application cangenerate state data 128 from device characteristics captured at block720 and from user characteristics captured at block 730.

FIGS. 7-12 illustrate example state indications. Such example stateindications can be presented in a UI of a digital messaging applicationto provide an indication of an emotional and/or environmental state of auser. In some implementations, elements of system 200 of FIG. 2 cangenerate and present state indication 126 using technique 300.

Turning more particularly to FIG. 8, state indication 800 is depicted.State indication 800 can include an emoji 801. For example, the smileyface emoji is depicted as emoji 801. It is to be appreciated that avariety of emojis indicative of emotion and environment could beselected, for example, based on state data 128. As a specific example,the smiley face emoji could be selected as emoji 801 based on state data128 indicative of a happy emotion. As another example, the car emojicould be selected as emoji 801 based on state data 128 indicative of theuser being in a vehicle. As a further example, the angry face emojicould be selected as emoji 801 based on state data 128 indictive of theuser being angry or agitated.

Turning more particularly to FIG. 9, state indication 900 is depicted.State indication 900 can include multiple emojis 901. For example, stateindication 900 includes emojis 901-1 and 901-2. Specifically, the stateindication 900 includes smiley face emoji as emoji 901-1 and the thumbsup emoji as emoji 901-2. It is to be appreciated that a variety ofemojis indicative of emotion and environment could be selected, forexample, based on state data 128.

Turning more particularly to FIG. 10, state indication 1000 is depicted.State indication 1000 can include a number of 1001 of a selected coloror shading. For example, state indication 1000 includes emoji 1001 withdark shading. In some examples, a color or shading for the stateindication can be selected based on state data 128. Coloring can beselected to further indicate an emotional or environmental state. As aspecific example, the color red could be applied to indicators of thestate indication 1000 to indicate an angry emotion.

Turning more particularly to FIG. 11, state indication 1100 is depicted.State indication 1100 can include a punctuation mark 1101. For example,the exclamation point punctuation mark is depicted as punctuation mark1101. It is to be appreciated that a variety of punctuation marksindicative of emotion and/or environment could be selected, for example,based on state data 128. As a specific example, the punctuationexclamation point punctuation mark could be selected as punctuation mark1101 based on state data 128 indicative of an excited emotion. Asanother example, the question mark punctuation mark could be selected aspunctuation mark 1101 based on state data 128 indicative of the userbeing in a state of questioning of disbelief.

Turning more particularly to FIG. 12, state indication 1200 is depicted.State indication 1200 can include multiple punctuation marks 1201. Forexample, state indication 1200 includes punctuation marks 1201-1 and1201-2. Specifically, the state indication 1200 includes the exclamationpoint punctuation mark as punctuation mark 1201-1 and the question markpunctuation mark as punctuation mark 1201-2. It is to be appreciatedthat a variety of punctuation marks indicative of emotion and/orenvironment could be selected, for example, based on state data 128.

Turning more particularly to FIG. 13, state indication 1300 is depicted.State indication 1300 can include one or more punctuation marks 1301.For example, state indication 1300 includes punctuation marks 1301-1,1301-2, 1301-3, and 1301-4 all as periods. It is noted, that thepunctuation marks 1301 could be any number or combination of punctuationmarks, such as, for example, exclamation points, question marks, poundsymbols, periods, etc. Furthermore, one of the punctuation marks 1301 iscolored. For example, punctuation mark 1301-4 is depicted as colored orshaded. In some examples, a color or shading for the state indicationcan be selected based on state data 128. Coloring can be selected tofurther indicate an emotional or environmental state. As a specificexample, the color red could be applied to indicators of the stateindication 1300 to indicate an angry emotion.

FIG. 14 illustrates an embodiment of a storage medium 2000. Storagemedium 2000 may comprise any non-transitory computer-readable storagemedium or machine-readable storage medium, such as an optical, magneticor semiconductor storage medium. In various embodiments, storage medium2000 may comprise an article of manufacture. In some embodiments,storage medium 2000 may store computer-executable instructions, such ascomputer-executable instructions to implement one or more of logic flowsor operations described herein, such as with respect to 300 and/or 700of FIGS. 3 and/or 7. The storage medium 2000 may further storecomputer-executable instructions for the digital messaging application122, the state prediction application 223, and the state predictionmodel 225. Examples of a computer-readable storage medium ormachine-readable storage medium may include any tangible media capableof storing electronic data, including volatile memory or non-volatilememory, removable or non-removable memory, erasable or non-erasablememory, writeable or re-writeable memory, and so forth. Examples ofcomputer-executable instructions may include any suitable type of code,such as source code, compiled code, interpreted code, executable code,static code, dynamic code, object-oriented code, visual code, and thelike. The embodiments are not limited in this context.

FIG. 15 illustrates an embodiment of an exemplary computing architecture3000 that may be suitable for implementing various embodiments aspreviously described. In various embodiments, the computing architecture3000 may comprise or be implemented as part of an electronic device. Insome embodiments, the computing architecture 3000 may be representative,for example, of a processor server that implements one or morecomponents of the computing device 100, 201, 203 or the server 205. Theembodiments are not limited in this context.

As used in this application, the terms “system” and “component” and“module” are intended to refer to a computer-related entity, eitherhardware, a combination of hardware and software, software, or softwarein execution, examples of which are provided by the exemplary computingarchitecture 3000. For example, a component can be, but is not limitedto being, a process running on a processor, a processor, a hard diskdrive, multiple storage drives (of optical and/or magnetic storagemedium), an object, an executable, a thread of execution, a program,and/or a computer. By way of illustration, both an application runningon a server and the server can be a component. One or more componentscan reside within a process and/or thread of execution, and a componentcan be localized on one computer and/or distributed between two or morecomputers. Further, components may be communicatively coupled to eachother by various types of communications media to coordinate operations.The coordination may involve the uni-directional or bi-directionalexchange of information. For instance, the components may communicateinformation in the form of signals communicated over the communicationsmedia. The information can be implemented as signals allocated tovarious signal lines. In such allocations, each message is a signal.Further embodiments, however, may alternatively employ data messages.Such data messages may be sent across various connections. Exemplaryconnections include parallel interfaces, serial interfaces, and businterfaces.

The computing architecture 3000 includes various common computingelements, such as one or more processors, multi-core processors,co-processors, memory units, chipsets, controllers, peripherals,interfaces, oscillators, timing devices, video cards, audio cards,multimedia input/output (I/O) components, power supplies, and so forth.The embodiments, however, are not limited to implementation by thecomputing architecture 3000.

As shown in this figure, the computing architecture 3000 comprises aprocessing unit 3004, a system memory 3006 and a system bus 3008. Theprocessing unit 3004 can be any of various commercially availableprocessors, including without limitation an AMD® Athlon®, Duron® andOpteron® processors; ARM® application, embedded and secure processors;IBM® and Motorola® DragonBall® and PowerPC® processors; IBM and Sony®Cell processors; Intel® Celeron®, Core (2) Duo®, Itanium®, Pentium®,Xeon®, and XScale® processors; and similar processors. Dualmicroprocessors, multi-core processors, and other multi-processorarchitectures may also be employed as the processing unit 3004.

The system bus 3008 provides an interface for system componentsincluding, but not limited to, the system memory 3006 to the processingunit 3004. The system bus 3008 can be any of several types of busstructure that may further interconnect to a memory bus (with or withouta memory controller), a peripheral bus, and a local bus using any of avariety of commercially available bus architectures. Interface adaptersmay connect to the system bus 3008 via a slot architecture. Example slotarchitectures may include without limitation Accelerated Graphics Port(AGP), Card Bus, (Extended) Industry Standard Architecture ((E)ISA),Micro Channel Architecture (MCA), NuBus, Peripheral ComponentInterconnect (Extended) (PCI(X)), PCI Express, Personal Computer MemoryCard International Association (PCMCIA), and the like.

The system memory 3006 may include various types of computer-readablestorage media in the form of one or more higher speed memory units, suchas read-only memory (ROM), random-access memory (RAM), dynamic RAM(DRAM), Double-Data-Rate DRAM (DDRAM), synchronous DRAM (SDRAM), staticRAM (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM),electrically erasable programmable ROM (EEPROM), flash memory (e.g., oneor more flash arrays), polymer memory such as ferroelectric polymermemory, ovonic memory, phase change or ferroelectric memory,silicon-oxide-nitride-oxide-silicon (SONOS) memory, magnetic or opticalcards, an array of devices such as Redundant Array of Independent Disks(RAID) drives, solid state memory devices (e.g., USB memory, solid statedrives (SSD) and any other type of storage media suitable for storinginformation. In the illustrated embodiment shown in this figure, thesystem memory 3006 can include non-volatile memory 3010 and/or volatilememory 3012. A basic input/output system (BIOS) can be stored in thenon-volatile memory 3010.

The computer 3002 may include various types of computer-readable storagemedia in the form of one or more lower speed memory units, including aninternal (or external) hard disk drive (HDD) 3014, a magnetic floppydisk drive (FDD) 3016 to read from or write to a removable magnetic disk3018, and an optical disk drive 3020 to read from or write to aremovable optical disk 3022 (e.g., a CD-ROM or DVD). The HDD 3014, FDD3016 and optical disk drive 3020 can be connected to the system bus 3008by a HDD interface 3024, an FDD interface 3026 and an optical driveinterface 3028, respectively. The HDD interface 3024 for external driveimplementations can include at least one or both of Universal Serial Bus(USB) and IEEE interface technologies.

The drives and associated computer-readable media provide volatileand/or nonvolatile storage of data, data structures, computer-executableinstructions, and so forth. For example, a number of program modules canbe stored in the drives and memory units 3010, 3012, including anoperating system 3030, one or more application programs 3032, otherprogram modules 3034, and program data 3036. In one embodiment, the oneor more application programs 3032, other program modules 3034, andprogram data 3036 can include, for example, the various applicationsand/or components of the wire-free charging system 100.

A user can enter commands and information into the computer 3002 throughone or more wire/wireless input devices, for example, a keyboard 3038and a pointing device, such as a mouse 3040. Other input devices mayinclude microphones, infra-red (IR) remote controls, radio-frequency(RF) remote controls, game pads, stylus pens, card readers, dongles,finger print readers, gloves, graphics tablets, joysticks, keyboards,retina readers, touch screens (e.g., capacitive, resistive, etc.),trackballs, trackpads, sensors, styluses, and the like. These and otherinput devices are often connected to the processing unit 3004 through aninput device interface 3042 that is coupled to the system bus 3008 butcan be connected by other interfaces such as a parallel port, IEEE 994serial port, a game port, a USB port, an IR interface, and so forth.

A monitor 3044 or other type of display device is also connected to thesystem bus 3008 via an interface, such as a video adaptor 3046. Themonitor 3044 may be internal or external to the computer 3002. Inaddition to the monitor 3044, a computer typically includes otherperipheral output devices, such as speakers, printers, and so forth.

The computer 3002 may operate in a networked environment using logicalconnections via wire and/or wireless communications to one or moreremote computers, such as a remote computer 3048. The remote computer3048 can be a workstation, a server computer, a router, a personalcomputer, portable computer, microprocessor-based entertainmentappliance, a peer device or other common network node, and typicallyincludes many or all of the elements described relative to the computer3002, although, for purposes of brevity, only a memory/storage device3050 is illustrated. The logical connections depicted includewire/wireless connectivity to a local area network (LAN) 3052 and/orlarger networks, for example, a wide area network (WAN) 3054. Such LANand WAN networking environments are commonplace in offices andcompanies, and facilitate enterprise-wide computer networks, such asintranets, all of which may connect to a global communications network,for example, the Internet.

When used in a LAN networking environment, the computer 3002 isconnected to the LAN 3052 through a wire and/or wireless communicationnetwork interface or adaptor 3056. The adaptor 3056 can facilitate wireand/or wireless communications to the LAN 3052, which may also include awireless access point disposed thereon for communicating with thewireless functionality of the adaptor 3056.

When used in a WAN networking environment, the computer 3002 can includea modem 3058, or is connected to a communications server on the WAN3054, or has other means for establishing communications over the WAN3054, such as by way of the Internet. The modem 3058, which can beinternal or external and a wire and/or wireless device, connects to thesystem bus 3008 via the input device interface 3042. In a networkedenvironment, program modules depicted relative to the computer 3002, orportions thereof, can be stored in the remote memory/storage device3050. It will be appreciated that the network connections shown areexemplary and other means of establishing a communications link betweenthe computers can be used.

The computer 3002 is operable to communicate with wire and wirelessdevices or entities using the IEEE 802 family of standards, such aswireless devices operatively disposed in wireless communication (e.g.,IEEE 802.16 over-the-air modulation techniques). This includes at leastWi-Fi (or Wireless Fidelity), WiMax, and Bluetooth™ wirelesstechnologies, among others. Thus, the communication can be a predefinedstructure as with a conventional network or simply an ad hoccommunication between at least two devices. Wi-Fi networks use radiotechnologies called IEEE 802.11x (a, b, g, n, etc.) to provide secure,reliable, fast wireless connectivity. A Wi-Fi network can be used toconnect computers to each other, to the Internet, and to wire networks(which use IEEE 802.3-related media and functions).

What is claimed is:
 1. At least one non-transitory machine-readablestorage medium comprising instructions that when executed by a processorat an apparatus, cause the processor to: receive, from a messagingdevice, a first information element including an indication of messagecontent; determine a current usage of the apparatus; determine anemotional state based at least in part on the current usage of theapparatus; determine an environmental state, responsive in part, toreceiving a message including the message content; generate a secondinformation element, the second information element to include anindication of the determined emotional state, an indication of thedetermined environmental state, and an indication to transiently presentthe indications of the determined emotional and environmental states;and send the second information element to the messaging device.
 2. Theat least one non-transitory machine-readable storage medium of claim 1,comprising instructions that further cause the processor to: receive,from a biometric sensor, an indication of a biometric state of areceiver of the message; and determine the emotional state based atleast in part on the indication of the biometric state.
 3. The at leastone non-transitory machine-readable storage medium of claim 1,comprising instructions that further cause the processor to: receive,from a camera, an image of a receiver of the message; and determine theemotional state based at least in part on the image.
 4. The at least onenon-transitory machine-readable storage medium of claim 1, comprisinginstructions that further cause the processor to: receive, from asensor, an environmental characteristic associated with the apparatus;and determine the environmental state based at least in part on theenvironmental characteristic.
 5. The at least one non-transitorymachine-readable storage medium of claim 4, wherein the environmentalcharacteristic comprises at least one of velocity, location, or acurrently used application.
 6. The at least one non-transitorymachine-readable storage medium of claim 1, wherein the indication ofthe determined emotional state comprises at least one emoji or aplurality of punctuation marks.
 7. The at least one non-transitorymachine-readable storage medium of claim 1, wherein the indications ofthe determined emotional and environmental states comprises a pluralityof emojis, a first one of the plurality of emojis indicative of a firstemotional or environmental state and a second one of the plurality ofemojis indicative of a second, different, emotional or environmentalstate.
 8. The at least one non-transitory machine-readable storagemedium of claim 1, wherein the indications of the determined emotionaland environmental states comprises a plurality of punctuation marks areperiods and wherein the second information element comprises anindication of a color in which to present at least one of thepunctuation marks.
 9. The at least one non-transitory machine-readablestorage medium of claim 1, wherein the second information elementincludes an indication that the receiver of the message is in a processof responding to the message.
 10. The at least one non-transitorymachine-readable storage medium of claim 1, comprising instructions thatfurther cause the processor to: generate a third information elementincluding an indication of a response message; and send, to themessaging device, the third information element along with an indicationto replace the transiently presented indications of the determinedemotional and environmental states with the response message.
 11. Anapparatus comprising: a processor; a radio; and a memory coupled to theprocessor, the memory comprising instructions that when executed by theprocessor cause the processor to: receive, via the from a messagingdevice, a first information element including an indication of amessage; determine, based on a machine learning model, an emotionalstate of a user responding to the message; generate a second informationelement including an indication of the determined emotional state and anindication to transiently present the indication of the determinedemotional state; and send, via the radio, the second information elementto the messaging device.
 12. The apparatus of claim 11, the memoryfurther comprising instructions that when executed by the processorcause the processor to: determine, based on the machine learning model,a plurality of possible emotional states of the user; and generate arequest to select a one of the plurality of possible emotional states todesignate as the emotional state.
 13. The apparatus of claim 12, thememory further comprising instructions that when executed by theprocessor cause the processor to: receive a response comprising anindication of the one of the plurality of possible emotional states todesignate as the emotional state; and update the machine learning modelbased on the response.
 14. The apparatus of claim 11, the memory furthercomprising instructions that when executed by the processor cause theprocessor to: receive an indication of a biometric characteristic of theuser; and determine the emotional state based on the machine learningmodel and the indication of the biometric characteristic.
 15. Theapparatus of claim 14, wherein the biometric characteristic is a ratioof a current heart rate to a resting heart rate or a variability of acurrent heart rate.
 16. The apparatus of claim 11, wherein theindication of the emotional state comprises a plurality of punctuationmarks.
 17. A method, comprising: receiving, from a messaging device, afirst information element including an indication of a message;determining, based on a machine learning model, an emotional state of auser responding to the message; generating a second information elementincluding an indication of the determined emotional state and anindication to transiently present the indication of the determinedemotional state; and sending the second information element to themessaging device.
 18. The method of claim 17, further comprising:determining, based on the machine learning model, a plurality ofpossible emotional states of the user; and generating a request toselect a one of the plurality of possible emotional states to designateas the emotional state.
 19. The method of claim 18, further comprising:receiving a response comprising an indication of the one of theplurality of possible emotional states to designate as the emotionalstate; and updating the machine learning model based on the response.20. The method of claim 17, further comprising: receiving an indicationof a biometric characteristic of the user; and determining the emotionalstate based on the machine learning model and the indication of thebiometric characteristic.